Technical Q&A QA1317
Signaling the end of data when using AudioConverterFillComplexBuffer


QFAudioConverterFillComplexBuffer ‚ðŽg—p‚µ‚ăf[ƒ^‚ð•ÏŠ·‚µ‚Ä‚¢‚邯‚«‚ɁAƒf[ƒ^‚ª‚È‚­‚È‚Á‚½‚ç‚Ç‚¤‚·‚ê‚΂悢‚̂łµ‚傤‚©B

AFƒf[ƒ^‚ª‚È‚­‚Ȃ闝—R‚Í 3 ‚l‚¦‚ç‚ê‚Ü‚·B

1. ƒXƒgƒŠ[ƒ€‚̏I‚í‚è‚É’B‚µ‚½B

“ü—̓vƒƒV[ƒWƒƒ‚Ì’†‚ŁA“ǂݎæ‚Á‚½ƒpƒPƒbƒg‚Ì‘”‚Æ AudioBufferList “à‚̃f[ƒ^‚̃TƒCƒY‚ðƒ[ƒ‚ɐݒ肷‚é•K—v‚ª‚ ‚è‚Ü‚·B‚Ü‚½A“ü—̓vƒƒV[ƒWƒƒ‚©‚ç noErrr ‚ð•Ô‚³‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB‚±‚ꂪA AudioConverter ‚ɑ΂·‚éAƒf[ƒ^‚ª‚È‚­‚È‚Á‚½‚±‚Ƃ̒ʒm‚ƂȂè‚Ü‚·B‹ï‘Ì“I‚ÉŒ¾‚¤‚ƁA“ü—̓vƒƒV[ƒWƒƒ‚Ì’†‚ŁAioNumberDataPackets ‚Æ ioBufferList->mDataByteSize ‚Ì’l‚ðƒ[ƒ‚ɐݒ肵AnoErr ‚ð•Ô‚µ‚Ü‚·BioNumberDataPackets ‚́A•ÏŠ·‚³‚ꂽƒf[ƒ^‚Ì—Ê‚ðŽ¦‚µAioBufferList->mDataByteSize ‚́A“ü—̓vƒƒV[ƒWƒƒƒR[ƒ‹ƒoƒbƒN“à‚ÌŠe AudioBuffer ‚É‚¨‚¢‚ĕϊ·‚³‚ꂽƒf[ƒ^‚̃TƒCƒY‚ðŽ¦‚µ‚Ü‚·B“ü—̓vƒƒV[ƒWƒƒ‚́A‚»‚êˆÈ~‚à‰½“x‚©ŒÄ‚яo‚³‚ê‚邱‚Æ‚à‚ ‚è‚Ü‚·‚ªAˆø‚«‘±‚«’l‚ðƒ[ƒ‚ɐݒ肵AnoErr ‚ð•Ô‚·‚悤‚É‚µ‚Ü‚·B

2. ˆê•”‚̃f[ƒ^‚Í“ü—̓XƒgƒŠ[ƒ€‚©‚ç“üŽè‚Å‚«‚邪A“ü—Í—v‹‚ð–ž‚½‚·‚ɂ͕s\•ª‚ȏꍇB

ƒf[ƒ^‚ðƒŠƒAƒ‹ƒ^ƒCƒ€‚ŃXƒgƒŠ[ƒ~ƒ“ƒO‚µ‚Ä‚¢‚邯Aˆ—‚·‚é\•ª‚ȃf[ƒ^‚ª‚È‚­‚āAƒR[ƒ‹ƒoƒbƒN‚Å—v‹‚³‚ê‚éƒf[ƒ^—ʂ𖞂½‚¹‚È‚¢ó‹µ‚ª¶‚¶‚é‰Â”\«‚ª‚ ‚è‚Ü‚·B‚±‚̏ꍇ‚́A“ü—̓R[ƒ‹ƒoƒbƒN‚©‚ç noErr ‚Əˆ—Ï‚݂̃pƒPƒbƒg—Ê‚ð•Ô‚µ‚Ä‚­‚¾‚³‚¢BŽc‚è‚̃pƒPƒbƒg‚ɂ‚¢‚ẮA“ü—̓R[ƒ‹ƒoƒbƒN‚ªÄ“xŒÄ‚яo‚³‚ê‚Ü‚·B

3. Œ»Ý—˜—p‚Å‚«‚éƒf[ƒ^‚ª‚È‚¢ê‡B

Œ»Ý“ü—̓XƒgƒŠ[ƒ€‚©‚ç“üŽè‚Å‚«‚éƒf[ƒ^‚ª‚È‚¢‚̂ɁA•ÏŠ·‚·‚éƒf[ƒ^‚ªŽc‚Á‚Ä‚¢‚éê‡‚́AioNumberDataPackets ‚ðƒ[ƒ‚ɐݒ肵AƒGƒ‰[iƒ[ƒˆÈŠO‚Ì”CˆÓ‚Ì’lj‚ð•Ô‚µ‚Ü‚·BƒGƒ‰[‚͌Ăяo‚µŒ³‚É–ß‚³‚ê‚Ü‚·Bƒf[ƒ^‚ª•ÏŠ·‚³‚ê‚邯A‚»‚ê‚àŒÄ‚яo‚µŒ³‚ɕԂ³‚ê‚Ü‚·B



’ˆÓF
‚±‚̂悤‚ȏ󋵂ɂ ‚邯Žv‚í‚ê‚éê‡‚́AAudioConverterFillComplexBuffer ‚ðŒÄ‚яo‚·Û‚ɏ­—ʂ̃f[ƒ^‚ð—v‹‚µ‚Ä‚­‚¾‚³‚¢B‘å—ʂ̃f[ƒ^‚ð—v‹‚µ‚āAˆê•”‚Ì—Ê‚ðŽæ“¾‚µ‚悤‚ƍl‚¦‚È‚¢‚Å‚­‚¾‚³‚¢B

‚Ü‚½Aƒf[ƒ^ƒoƒbƒtƒ@‘S‘Ì‚ð 1 ‰ñ‚̌Ăяo‚µ‚ŕϊ·‚·‚邽‚߂ɁAƒR[ƒ‹ƒoƒbƒN‚©‚ç—v‹‚·‚éƒf[ƒ^‚̗ʂ𐳊m‚ɐ„‘ª‚µ‚悤‚Æ‚µ‚È‚¢‚Å‚­‚¾‚³‚¢BƒR[ƒfƒbƒN‚Í“à•”“I‚É”CˆÓ‚̗ʂ̃f[ƒ^‚ðƒoƒbƒtƒ@ƒŠƒ“ƒO‚Å‚«‚邽‚߁Aƒf[ƒ^‚ð¬•ª‚¯‚É—v‹‚·‚é‚ׂ«‚Å‚·B•ÏŠ·Ž©‘̂ɔä‚ׂê‚΁A•ÏŠ·—v‹‚̃I[ƒoƒwƒbƒh‚͏¬‚³‚¢‚à‚̂ł·B–c‘å‚ȃoƒbƒtƒ@‚ð—v‹‚·‚邱‚Ƃ́AƒLƒƒƒbƒVƒ…‚É‚à‚æ‚­‚ ‚è‚Ü‚¹‚ñB‚·‚×‚Ä‚Ì“à•”ƒoƒbƒtƒ@‚ð‘å‚«‚­‚·‚é‚©A¬‚³‚ȃ`ƒƒƒ“ƒN‚É•ªŠ„‚µ‚Ä‚µ‚Ü‚¤‚±‚ƂɂȂè‚Ü‚·B



AudioConverter ‚ÌŽg‚¢•û‚̏ڍׂɂ‚¢‚ẮAAudioToolbox.framework ‚̃wƒbƒ_ƒtƒ@ƒCƒ‹ AudioConverter.h ‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B


m2004 ”N 4 ŒŽ 19 “ún